package com.xzmzhp.dao.cos;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xzmzhp.dao.cos.sql.CosSql;
import com.xzmzhp.pojo.cos.Cos;
import com.xzmzhp.vo.cos.CosVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author: 王源(xm)
 * @create: 2022-04-23 20:06
 * @program: ams
 * @description: cos服数据库交互接口
 */
@Repository
public interface CosMapper extends BaseMapper<Cos> {

    /**
     * 查询所有cos服相关信息
     * @param param 参数
     *        cosName cos服名称
     *        applicablePeople 适用人群
     *        belongingTo 所属
     *        currentHolder 持有人
     * @return cos服相关信息
     */
    List<Cos> findAll(Map<String, Object> param);

    /**
     * 根据条件查询cos服相关信息
     * @param param 参数
     *        cosName cos服名称
     *        applicablePeople 适用人群
     *        belongingTo 所属
     *        currentHolder 持有人
     *        minPrices 最低价
     *        maxPrices 最高价
     * @return cos服相关信息
     */
    @SelectProvider(type = CosSql.class,method = "cosByParam")
    List<CosVo> cosByParam(Map<String,Object> param);

    /**
     * 根据cosId修改cos服状态
     * @param cosId cos服id
     * @param status cos服状态
     * @return 是否成功
     */
    @Update("update cos set cos_status = #{status} where cos_id = #{cosId}")
    Integer exitStatus(@Param("cosId") Integer cosId,@Param("status")  String status);

}
